package top.eggcode.system.modules.user.model;

import lombok.Data;
import top.eggcode.common.base.BaseEntity;
import top.eggcode.common.lang.EncryptionUtil;

import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * Title: 帐户
 * Description: 属于用户（User）的一部分，用于系统登录
 * Date: 2021/3/27 10:27
 *
 * @author JiaQi Ding
 * @version 1.0
 */
@Data
@Entity
@Table(name = "auth_account")
public class AccountEntity extends BaseEntity {

    /**
     * 基本信息主键
     */
    private String userId;

    /**
     * 名称
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 安全码
     */
    private String salt;

    /**
     * 令牌密匙
     */
    private String tokenSecret;

    /**
     * 状态
     */
    private Short status;

    /**
     * 账户类型
     * 层级
     * 企业账号 1
     * 普通账号 2
     */
    private Short tier;

    public AccountEntity init() {
        this.markCreated();
        this.salt = EncryptionUtil.randomSolt();
        this.tokenSecret = EncryptionUtil.randomSolt();
        return this;
    }
}
